// Copyright © SixtyFPS GmbH <info@slint-ui.com>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-commercial


export struct Player := {
    skill-profile: int,
}
export struct NewGameTeam := {
    players: [Player],
}
export struct NewGameParameters := {
    teams: [NewGameTeam],
}


struct StructWithArrayOfStruct := { prop: [{hello: string, world: int}], xxx: int }

TestCase := Rectangle {
    property <[int]> p1 : [ 12, 13 ];
    property <[float]> p2 : [ 14, 15.5 ];
    property <[string]> p3 : [ ];
    property <[{a: int, b: int}]> p4 : [ { a: 1 }, { a: 42, b: 10 } ];
    property <StructWithArrayOfStruct> p5 : { prop: [{hello: "hello"}, {world: 42.0 }]};

    property <NewGameParameters> p6 : { teams: [{ players: [ { skill-profile: 9 } ] }] } ;
}


/*
```js
var instance = new slint.TestCase({});
assert.deepEqual(instance.p1, [12, 13]);
assert.deepEqual(instance.p2, [14, 15.5]);
assert.deepEqual(instance.p3, []);
assert.deepEqual(instance.p4, [{a: 1, b: 0}, {a: 42, b: 10}]);
assert.deepEqual(instance.p5, { prop: [{hello: "hello", world: 0}, { hello: "", world: 42}], xxx: 0 });

instance.p3 = ["Hello", "World"];
assert.deepEqual(instance.p3, ["Hello", "World"]);
```
*/
